<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:sijyp="http://java.sun.com/jsf/composite/sijyp">

	<a4j:outputPanel id="pnl_cadaveres_entregados" ajaxRendered="false">
		<f:event type="javax.faces.event.PreRenderComponentEvent"
			listener="#{cadaveres.viewHandler}" />
		<a4j:region id="rg_cadaveres_entregados">

			<a4j:outputPanel id="pnl_cadaver">
				<a4j:region id="rg_cadaver">
					<h:panelGroup id="pg_cadaver">
						

						<br />
						#{msgExh['exhumaciones.entregas.cadaveres_encontrados']}
						<hr width="100%" />

						<!-- NUEVA UBICACION DATA TABLE -->

						<ui:include src="lista.xhtml">
							<ui:param name="cadaveres" value="#{managedBean.cadaveres}" />
						</ui:include>

						<br />
						#{msgExh['exhumaciones.entregas.cadaver']}
						<hr width="100%" />
						
						<h:panelGrid columns="3" width="100%">
							<h:panelGrid width="100%">
								<h:outputLabel id="idCadaver_lbl"
									value="#{msgExh['exhumaciones.diligencia.cadaver.nombre_cadaver']}:*" />
								<h:selectOneListbox 
									id="cadaverListo"									
									value="#{cadaveres.ids}" size="10"
									valueChangeListener="#{cadaveres.valueChangeSeleccionado}"
									disabled="#{cadaveres.estado == 'VER' or empty cadaveres.cadaveresList}" 
									required="#{cadaveres.cadaverListoRequerido}"
									requiredMessage="#{msgExh['exhumaciones.seleccion_item_lista']}"
									styleClass="grande">
									<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
										noSelectionOption="true" />
									<f:selectItems value="#{cadaveres.cadaveresList}" var="c" itemLabel="#{c.showLabel}" itemValue="#{c.ids}"/>
								</h:selectOneListbox>								
								<h:message for="cadaverListo" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
						</h:panelGrid>						
					</h:panelGroup>

					<br />

					<h:panelGroup id="pg_familiar_recibe">
						#{msgExh['exhumaciones.entregas.familiar_recibe']}
					<hr width="100%" />
						<br />
						<h:panelGrid columns="3" columnClasses="col33,col33,col33"
							width="100%">
							<h:panelGrid width="100%">
								<h:outputLabel id="parentesco_lbl"
									value="#{msgExh['exhumaciones.diligencia.cadaver.parentesco']}:*" />
								<h:selectOneMenu id="parentesco"
									value="#{cadaveres.cadaverEntregadoDto.idParentesco}"
									disabled="#{cadaveres.estado == 'VER'}" required="true"
									requiredMessage="#{msgExh['exhumaciones.seleccion_item_lista']}">
									<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
										noSelectionOption="true" />
									<f:selectItems value="#{cadaveres.itemsHelper.parentescos}" />
								</h:selectOneMenu>
								<h:message for="parentesco" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>

				
							<sijyp:personasField prefixId="familiarRecibe"
								id="buscador_persona_familiarRecibe"
								label="#{msgExh['exhumaciones.entregas.nombre_familiar_recibe']}*"
								value="#{cadaveres.cadaverEntregadoDto.personaFamiliar.nombre}"
								dto="#{cadaveres.cadaverEntregadoDto.personaFamiliar}"
								styleClass="long longPersona" required="true"
								disabled="#{managedBean.disabledAll}" />
						</h:panelGrid>
						<h:panelGrid columns="3" columnClasses="col33,col33,col33"
							width="100%">
							<h:panelGrid>
								<h:outputLabel id="tipo_documento_familiarRecibe_lbl"
									value="#{msgExh['exhumaciones.catalogo.tipo_documento']}:" />
								<h:selectOneMenu id="tipo_documento_familiarRecibe"
									disabled="true"
									value="#{cadaveres.cadaverEntregadoDto.personaFamiliar.idTipoDocumentoDeIdentidad}">
									<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
										noSelectionOption="true" />
									<f:selectItems
										value="#{managedBean.itemsHelper.tiposDocumentos}" />
								</h:selectOneMenu>
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel id="num_documento_familiarRecibe_lbl"
									value="#{msgExh['exhumaciones.diligencia.num_documento']}:" />
								<h:inputText id="num_documento_familiarRecibe" disabled="true"
									value="#{cadaveres.cadaverEntregadoDto.personaFamiliar.numeroIdentificacion}">
								</h:inputText>
							</h:panelGrid>
							<h:column />
						</h:panelGrid>

					</h:panelGroup>
					<br />

					<h:panelGroup id="pg_lugar" layout="block">
						#{msgExh['exhumaciones.entregas.lugar_inhumacion']}
					<hr width="100%" />
						<br />
						<h:panelGrid columns="3" columnClasses="col33,col33,col33"
							width="100%">
							<h:panelGrid>
								<h:outputLabel id="pais_lbl"
									value="#{msgExh['exhumaciones.catalogo.pais']}*:" />
								<h:selectOneMenu id="pais_lugar" required="true"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.idPais}"
									requiredMessage="#{msgVal['constraint.not_null']}"
									disabled="true"
									valueChangeListener="#{cadaveres.ubicacionFiltradoListener.paisValueChange}">
									<f:selectItem itemLabel="#{cadaveres.defaultPaisLabel}"
										itemValue="#{cadaveres.defaultPaisValue}"
										noSelectionOption="true" />
									<f:selectItems value="#{cadaveres.itemsHelper.paises}" />
									<f:ajax event="change" render="departamento municipio" />
								</h:selectOneMenu>
								<h:message for="pais_lugar" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel id="depto_lbl"
									value="#{msgExh['exhumaciones.catalogo.departamento']}*:" />
								<h:selectOneMenu id="departamento_lugar" required="true"
									disabled="#{cadaveres.estado == 'VER'}"
									requiredMessage="#{msgVal['constraint.not_null']}"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.idDepartamento}"
									valueChangeListener="#{cadaveres.ubicacionFiltradoListener.departamentoValueChange}">
									<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
										noSelectionOption="true" />
									<f:ajax event="change" execute="@this" render="municipio_panel" />
								</h:selectOneMenu>
								<h:message for="departamento_lugar" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
							<h:panelGrid id="municipio_panel">
								<h:outputLabel id="municipio_lbl"
									value="#{msgExh['exhumaciones.catalogo.municipio']}*:" />
								<h:selectOneMenu id="municipio_lugar" required="true"
									disabled="#{cadaveres.estado == 'VER'}"
									requiredMessage="#{msgVal['constraint.not_null']}"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.idMunicipio}">
									<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
										noSelectionOption="true" />
								</h:selectOneMenu>
								<h:message for="municipio_lugar" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>

							<h:panelGrid>
								<h:outputLabel id="inspeccion_lbl"
									value="#{msgExh['exhumaciones.inspeccion']}:" />
								<h:inputText id="inspeccion_lugar"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.inspeccion}"
									disabled="#{cadaveres.estado == 'VER'}" maxlength="250"
									validatorMessage="#{msgVal['constraint.size.max']} 250"
									size="250">
								</h:inputText>

								<h:message for="inspeccion_lugar" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel id="corregimiento_lbl"
									value="#{msgExh['exhumaciones.corregimiento']}:" />
								<h:inputText id="corregimiento_lugar"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.corregimiento}"
									disabled="#{cadaveres.estado == 'VER'}"
									validatorMessage="#{msgVal['constraint.size.max']} 250"
									maxlength="250" size="250">
								</h:inputText>
								<h:message for="corregimiento_lugar" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel id="vereda_lbl"
									value="#{msgExh['exhumaciones.vereda']}:" />
								<h:inputText id="vereda_lugar"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.vereda}"
									disabled="#{cadaveres.estado == 'VER'}"
									maxlength="250">
								</h:inputText>
							</h:panelGrid>

							<h:panelGrid>
								<h:outputLabel value="#{msgExh['exhumaciones.finca']}:" />
								<h:inputText id="finca_lugar"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.finca}"
									disabled="#{cadaveres.estado == 'VER'}"
									maxlength="250">
								</h:inputText>
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel id="barrio_lbl"
									value="#{msgExh['exhumaciones.barrio']}:" />
								<h:inputText id="barrio_lugar"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.barrio}"
									disabled="#{cadaveres.estado == 'VER'}"
									validatorMessage="#{msgVal['constraint.size.max']} 250"
									maxlength="250" size="250">
								</h:inputText>
								<h:message for="barrio_lugar" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel id="direccion_lbl"
									value="#{msgExh['exhumaciones.direccion']}:" />
								<h:inputText id="direccion_lugar"
									value="#{cadaveres.cadaverEntregadoDto.ubicacion.direccion}"
									disabled="#{cadaveres.estado == 'VER'}"
									validatorMessage="#{msgVal['constraint.size.max']} 250"
									maxlength="250" size="250">
								</h:inputText>
								<h:message for="direccion_lugar" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
						</h:panelGrid>

						<h:panelGrid width="100%">
							<h:outputLabel id="sitio_lbl"
								value="#{msgExh['exhumaciones.sitio']}*:" />
							<h:inputText id="sitio_lugar"
								value="#{cadaveres.cadaverEntregadoDto.ubicacion.sitio}"
								disabled="#{cadaveres.estado == 'VER'}"
								validatorMessage="#{msgVal['constraint.size.max']} 250"
								maxlength="250" size="800"
								requiredMessage="#{msgVal['constraint.not_null']}"
								required="true" styleClass="long longPersona" />
							<h:message for="sitio_lugar" showSummary="true"
								showDetail="false" styleClass="validationErrorMessage" />
						</h:panelGrid>

						<br />
					</h:panelGroup>
				</a4j:region>
			</a4j:outputPanel>

		<a4j:outputPanel id="pnl_cadaveres_entregados_docs">
			<a4j:region id="rg_cadaveres_entregados_docs">
				<h:panelGroup id="pg_documentos">
						#{msgExh['exhumaciones.entregas.documentos']}
					<hr width="100%" />
					<br />

					<h:panelGroup id="pg_documentos_frm">
						<h:panelGrid columns="3" columnClasses="col33,col33,col33"
							width="100%">
							<h:panelGrid width="100%">
								<h:outputLabel id="tipo_documento_lbl"
									value="#{msgExh['exhumaciones.catalogo.tipo_documento']}:*" />
								<h:selectOneMenu id="idTipoDocumento"
									value="#{cadaveres.docDto.idTipoDocumento}"
									disabled="#{cadaveres.estadoDoc == 'VER'}" required="true"
									requiredMessage="#{msgExh['exhumaciones.seleccion_item_lista']}">
									<f:selectItem itemLabel="Seleccione ..." itemValue="#{null}"
										noSelectionOption="true" />
									<f:selectItems
										value="#{registrarEntregas.cadaveres.itemsHelper.tiposDocEntrega}" />
								</h:selectOneMenu>
								<h:message for="idTipoDocumento" showSummary="true"
									showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
							<h:panelGrid>
								<h:outputLabel id="lbl_archivo_anexo"
									value="#{msgExh['exhumaciones.archivo_anexo']}:*" />
								<sijyp:simpleFileUpload 
										name="uploadFiles"
										mensajeTipoInvalido="tipo invalido"
										id="archivo_anexo"
									    state="#{cadaveres.estadoDoc}" 
									    bean="#{cadaveres.fmDocs}">
								<f:validator validatorId="gov.fgn.siijt.exhumaciones.diligencia.cadaver.entrega.documentos.validator" for="uploadFiles"/>								
								</sijyp:simpleFileUpload>
								<h:message for="archivo_anexo"
									errorClass="validationErrorMessage" showSummary="false" />
							</h:panelGrid>
						</h:panelGrid>
						<h:panelGrid columns="1" width="100%">
							<h:panelGrid>
								<h:outputLabel id="observaciones_lbl"
									value="#{msgExh['exhumaciones.observaciones']}:" />
								<h:inputTextarea id="observaciones_documentos"
									styleClass="long count250" rows="5"
									value="#{cadaveres.docDto.observaciones}"
									disabled="#{cadaveres.estadoDoc == 'VER'}"
									validatorMessage="#{msgVal['constraint.size.max']} 250">
									<f:validateLength maximum="250" />
								</h:inputTextarea>
								<rich:message for="observaciones_documentos" showSummary="true"
								 	showDetail="false" styleClass="validationErrorMessage" />
							</h:panelGrid>
						</h:panelGrid>

						<h:panelGroup style="text-align:center;" layout="block">
							<h:commandButton id="btn_guardar_doc"
								value="#{cadaveres.docDto.id == null ? msgExh['exhumaciones.adicionar'] : msgExh['exhumaciones.modificar']}"
								action="#{cadaveres.guardarDocumento()}"
								disabled="#{cadaveres.estado == 'VER' or cadaveres.estadoDoc == 'VER'}">
								<a4j:ajax render="pg_documentos" execute="@region" />
							</h:commandButton>
							<h:commandButton id="btn_cancelar_doc"
								disabled="#{cadaveres.estado == 'VER'}"
								value="#{msgExh['exhumaciones.cancelar']}"
								action="#{cadaveres.cancelarDocumento()}" immediate="true">
								<a4j:ajax render="pnl_cadaveres_entregados_docs dt_doc_cadaver_entregado" execute="@this" immediate="true"/>
							</h:commandButton>
						</h:panelGroup>
					</h:panelGroup>
					<a4j:outputPanel id="pnl_doc_cadaver_entregado">
						<a4j:region id="rg_doc_cadaver_entregado">
							<rich:dataTable keepSaved="true" id="dt_doc_cadaver_entregado"
								var="record_" style="width:100%;" rowKeyVar="index"
								value="#{cadaveres.cadaverEntregadoDto.listaDocs}"
								noDataLabel="${msg['general.registrosNoEncontrados']}" rows="10">

								<rich:column>
									<f:facet name="header">
										<h:outputText
											value="#{msgExh['exhumaciones.catalogo.tipo_documento']}" />
									</f:facet>
									<h:outputText value="#{record_.nombreTipoDoc}" />
								</rich:column>

								<rich:column>
									<f:facet name="header">
										<h:outputText value="#{msgExh['exhumaciones.archivo_anexo']}" />
									</f:facet>
									<h:outputText value="#{record_.archivo.nombreArchivo}" rendered="#{record_.id == null}"/>
									<h:commandLink id="downloadFile_adjunto_entrega_cadaver"
										action="#{cadaveres.fmDocs.downloadFile(record_.archivo.id)}"
										immediate="true"
										rendered="#{record_.id != null}">
										<h:outputText value="#{record_.archivo.nombreArchivo}" />
										<f:setPropertyActionListener
											target="#{cadaveres.idDocumento}"
											value="#{record_.id}" />
										<f:setPropertyActionListener
											target="#{cadaveres.nombreDocumento}"
											value="#{record_.archivo.nombreArchivo}" />
										<f:setPropertyActionListener
											target="#{cadaveres.mimeTypeDocumento}"
											value="#{record_.archivo.mimeType}" />
									</h:commandLink>
								</rich:column>

								<rich:column>
									<f:facet name="header">
										<h:outputText value="#{msgExh['exhumaciones.observaciones']}" />
									</f:facet>
									<h:outputText value="#{record_.observaciones}" />
								</rich:column>

								<rich:column>
									<f:facet name="header">
										<h:outputText
											value="#{msgExh['exhumaciones.tabla_columna_accion']}" />
									</f:facet>
									<h:panelGrid columns="3"
										columnClasses="icon_space,icon_space,icon_space,icon_space,icon_space">


										<h:commandLink id="editarDocumentoAdjunto_entrega" value=""
											action="#{cadaveres.modoActualizarDoc(record_)}"
											disabled="#{parentMb.estado == 'VER' or cadaveres.estadoDoc == 'VER'}">
											<h:graphicImage
												value="/resources/images/icons/ico_pencil.png"
												title="${msg['boton.editar']}"
												rendered="#{parentMb.estado != 'VER'}" />
											<h:graphicImage
												value="/resources/images/icons/ico_pencil_gray.png"
												title="${msg['boton.editar']}"
												rendered="#{parentMb.estado == 'VER'}" />
											<f:ajax render="frm_entrega:pg_documentos dt_doc_cadaver_entregado" />
										</h:commandLink>

										<h:commandLink id="verDocumentoAdjunto_entrega" value=""
											action="#{cadaveres.modoVerDoc(record_)}">
											<h:graphicImage
												value="/resources/images/icons/ico_details.png"
												title="${msg['boton.consultar']}"
												rendered="#{parentMb.estado != 'VER'}" />
											<h:graphicImage
												value="/resources/images/icons/ico_details_gray.png"
												title="${msg['boton.consultar']}"
												rendered="#{parentMb.estado == 'VER'}" />
											<f:ajax render="frm_entrega:pg_documentos dt_doc_cadaver_entregado" />
										</h:commandLink>

										<h:commandLink 
											id="eliminarDocumentoAdjunto_entrega" 
											value=""
											action="#{cadaveres.setDocDtoDel(record_)}"
											disabled="#{parentMb.estado == 'VER' or cadaveres.disableEliminarDocumento or cadaveres.estadoDoc == 'VER' or cadaveres.cantidadDocumentos == 1}"
											onclick="#{rich:component('confirmarEliminarDocumentoCadaverEntregado')}.show()">
											
											<h:graphicImage
												value="/resources/images/icons/ico_delete.png"
												title="${msg['boton.eliminar']}"
												rendered="#{parentMb.estado != 'VER' and !cadaveres.disableEliminarDocumento and cadaveres.estadoDoc != 'VER' and cadaveres.cantidadDocumentos > 1}" />
											
											<h:graphicImage
												value="/resources/images/icons/ico_delete_disabled.png"
												title="${msg['boton.eliminar']}"
												rendered="#{parentMb.estado == 'VER' or cadaveres.disableEliminarDocumento or cadaveres.estadoDoc == 'VER' or cadaveres.cantidadDocumentos == 1}" />
											
											<a4j:ajax render="pg_documentos" execute="@region" />
										</h:commandLink>

									</h:panelGrid>
								</rich:column>
							</rich:dataTable>

					
						</a4j:region>
					</a4j:outputPanel>
				</h:panelGroup>

				<sijyp:confirmDialog message="#{msg['general.confirmaBorrar']}"
					confirmId="confirmarEliminarDocumentoCadaverEntregado"
					renderComponents="frm_entrega:pnl_doc_cadaver_entregado"
					acceptAction="#{registrarEntregas.cadaveres.eliminarDoc()}" />

			</a4j:region>
		</a4j:outputPanel>
			<h:panelGroup style="text-align:center;" layout="block">
				<h:commandButton id="btn_guardar"
					value="#{cadaveres.cadaverEntregadoDto.id == null ? msgExh['exhumaciones.adicionar'] : msgExh['exhumaciones.modificar']}"
					action="#{cadaveres.guardar()}"
					rendered="#{registrarEntregas.cadaveres.estado != 'VER'}">
					<a4j:ajax render="pnl_cadaver pnl_lista_cadaver pnl_cadaveres_entregados_docs pg_documentos pnl_cadaveres_entregados" limitRender="true"
						execute="rg_cadaver rg_lista_cadaver rg_doc_cadaver_entregado" />
				</h:commandButton>
				<h:commandButton id="btn_cancelar"
					value="#{msgExh['exhumaciones.cancelar']}"
					action="#{registrarEntregas.cadaveres.cancelar()}">
					<a4j:ajax render="pnl_cadaver pnl_lista_cadaver pnl_cadaveres_entregados_docs pnl_cadaveres_entregados pnl_doc_cadaver_entregado" limitRender="true"
						execute="@this" immediate="true"/>
				</h:commandButton>
			</h:panelGroup>
			
		</a4j:region>

	</a4j:outputPanel>

</ui:composition>
